Any particular computing system may employ one or more of potentially thousands of different code sets, also known as character sets, charsets and code pages. Converting strings of data from one code set to another is an important utility necessary in many computing systems, particularly in multi-national, server operation systems. Such a utility, or code set convertor (CSC), may be a first step in applications such as, but not limited to, information exchange, security authorization, data transfer and database access. CSCs are essential for providing reliable communications across computing platforms and networks. Thousands of CSCs are supported based upon different requirements and standards worldwide. Currently, a CSC is configured by selecting a specific CSC component that is specific to the source code set and the target code set. Finding, choosing and loading the specific CSC component are critical for services that require code set conversion.
UNIX servers, such as AIX®, use an open architecture to manage the tasks associated with code set conversion. An iconv application programming interface (API) is a well-known programming interface in UNIX-like systems for converting from one character encoding type to another. Although a new CSC can be added or modified in a system without rebooting the system, locating the correct CSC from among the thousands available can create a bottleneck on system performance. To reduce computing time and power usage, existing iconv APIs provide three (3) conversion algorithms and a four-level CSC lookup structure. One of the three algorithms is one-to-one mapping, i.e., A→N, which may also include transitive properties, i.e., A→X and X→N. A second algorithm involves programming based conversion, i.e., many-to-one or many-to-many. A third algorithm uses a combination of the first and second algorithms.
Universal Conversion Modules (UCMs) typically find intermediate converters when a simple CSC is not available. For example, when a code set A is needed to be converted to a code set N, one CSC may convert code set A to X and an intermediate CSC may convert X to C. Depending upon the number of intermediate CSCs, such a system may take double or triple the operation time of a single CSC.